package com.ruoyi.salary.services;

import com.ruoyi.salary.domain.EmployeeSalary;

import java.util.List;

/**
 * 参数配置 服务层
 * 
 * @author ruoyi
 */

public interface ISysSalaryService
{
    /**
     * 查询个人信息
     * 
     * @param salaryId 参数配置ID
     * @return 参数配置信息
     */
    public EmployeeSalary selectSalaryById(Long salaryId);

    /**
     * 查询个人工资
     *
     * @param userId
     * @return
     */
    public EmployeeSalary selectSalaryById(Long salaryId,Long userId);

    /**
     * 查询参数配置列表
     * 
     * @param salary 参数配置信息
     * @return 参数配置集合
     */
    public List<EmployeeSalary> selectSalary(EmployeeSalary salary);

    /**
     * 新增参数配置
     * 
     * @param salary 参数配置信息
     * @return 结果
     */
    public int insertSalary(EmployeeSalary salary);

    /**
     * 修改参数配置
     * 
     * @param salary 参数配置信息
     * @return 结果
     */
    public int updateSalary(EmployeeSalary salary);

    /**
     * 批量删除参数信息
     * 
     * @param salaryIds 需要删除的参数ID
     */
    public void deleteSalaryByIds(Long[] salaryIds);

    /**
     * 加载参数缓存数据
     */
    public void loadingConfigCache();

    /**
     * 清空参数缓存数据
     */
    public void clearConfigCache();

    /**
     * 重置参数缓存数据
     */
    public void resetConfigCache();

    /**
     * 校验参数键名是否唯一
     * 
     * @param salary 参数信息
     * @return 结果
     */
    public boolean checkSalaryUnique(EmployeeSalary salary);
}
